Personal sonar system

ABSTRACT

Various implementations include a personal sonar system sized to be worn on a body of a user. In some cases, the system includes: at least one acoustic transmitter for transmitting ultrasonic signals into an environment proximate the user; at least two acoustic receivers for receiving return ultrasonic signals from the environment proximate the user; a directional indication system for providing a directional output to the user; and a controller coupled with the at least one transmitter, the at least two acoustic receivers, and the directional indication system, the controller configured to: identify a physical object within the environment proximate the user based on the return ultrasonic signals; and initiate the directional output at the directional indication system based on the identified physical object within the environment.

TECHNICAL FIELD

This disclosure generally relates to object detection. Moreparticularly, the disclosure relates to body-worn systems forultrasonic-based object detection.

BACKGROUND

Conventional devices for aiding the visually impaired have numerousshortcomings. These devices can be unwieldy, and additionally, may notprovide sufficient information about a user's surroundings to allow thatuser to move freely within an environment.

SUMMARY

All examples and features mentioned below can be combined in anytechnically possible way.

Various implementations include personal sonar systems sized to be wornon the body of a user. The personal sonar systems are configured toidentify a physical object within the environment proximate the user,and initiate a directional output to the user based upon the identifiedphysical object.

In some particular aspects, the personal sonar system includes: at leastone acoustic transmitter for transmitting ultrasonic signals into anenvironment proximate the user; at least two acoustic receivers forreceiving return ultrasonic signals from the environment proximate theuser; a directional indication system for providing a directional outputto the user; and a controller coupled with the at least one transmitter,the at least two acoustic receivers, and the directional indicationsystem, the controller configured to: identify a physical object withinthe environment proximate the user based on the return ultrasonicsignals; and initiate the directional output at the directionalindication system based on the identified physical object within theenvironment.

In other particular aspects, a personal object detection system isdisclosed. In these cases, the personal object detection systemincludes: at least one object detection sensor for detecting an objectin an environment proximate a user; a directional indication system forproviding a directional output to the user; and a controller coupledwith the object detection sensor and the directional indication system,the controller configured to: identify a physical object within theenvironment proximate the user based on object detection data from theobject detection sensor; and initiate the directional output at thedirectional indication system based on the identified physical objectwithin the environment.

Implementations may include one of the following features, or anycombination thereof.

In certain aspects, the controller identifies the physical object withinthe environment by: triangulating a plurality of locations of thephysical object using the return ultrasonic signals originating from thesame acoustic transmitter and transmitted at the same time; andidentifying the physical object within the environment at anintersection of the plurality of locations.

In some cases, the controller is configured to adjust for a differencebetween the ultrasonic signals transmitted by the at least one acoustictransmitter and the return ultrasonic signals based on known spacingsbetween the at least two receivers and each of the at least tworeceivers and the transmitter.

In particular aspects, the controller is configured to instruct theacoustic transmitter to transmit the ultrasonic signals into theenvironment in a search pattern.

In certain implementations, the system further includes at least oneposition sensor for detecting a change in position of the body of theuser, where the at least one position sensor includes at least one of: aone-axis sensor, a two-axis sensor, a gyroscopic sensor, or anelectrolytic sensor.

In particular aspects, the system further includes at least one motionsensor for detecting user motion.

In some cases, the system further includes a mounting plate for mountingon the body of the user, the mounting plate coupled with the controller,the directional indication system, and the at least two acousticreceivers.

In particular implementations, the at least one acoustic transmitterincludes two acoustic transmitters, and the at least two acousticreceivers are located between the two acoustic transmitters.

In certain aspects, the directional indication system includes at leasttwo transducers, and initiating the directional output includesinitiating spatialized audio output at the least two transducers basedon the identified physical object within the environment.

In some implementations, the controller includes a noise managementmodule for filtering ambient acoustic signals while providing thespatialized audio output.

In particular cases, the at least two transducers include an array ofspeakers for providing the spatialized audio output based on theidentified physical object within the environment.

In some aspects, the controller is connected with an audio gateway andis configured to mix audio from the audio gateway with the spatializedaudio for output at the at least two transducers.

In some cases, the audio from the audio gateway includes navigationinstructions from a navigation application, and the spatialized audioincludes speech indicating the physical object within the environment.

In particular implementations, the controller further identifies alocation of the physical object within the environment, and thespatialized audio output indicates a direction of the physical objectrelative to the body of the user.

In certain cases, the spatialized audio output indicates the directionof the physical object with a variation in at least one of: volume ofaudio output, frequency of audio output, or repeat rate of sound in theaudio output (e.g., an alert such as a beep, bell, buzz, etc.).

In particular aspects, the directional indication system includes ahaptic feedback device, and initiating the directional output includesinitiating a haptic response at the haptic feedback device based on theidentified physical object within the environment.

In certain implementations, the haptic feedback device includes avibro-tactile device, and the haptic response indicates a direction ofthe physical object relative to the body of the user.

In some aspects, the at least one acoustic transmitter and one of the atleast two acoustic receivers are part of a transceiver unit.

In particular cases, at least one of the at least two receivers has aface that is at least partially angled relative to a movement directionof the user for detecting ground elevation.

In certain implementations, the controller is configured to initiatetransmitting the ultrasonic signals into the environment with uniqueacoustic signatures, e.g., differentiated by at least one of pulseduration, pulse repetition, pulse pattern or wave shape.

In particular cases, the system further includes an interface forreceiving user commands, where the interface provides a plurality ofuser-selectable operating modes including at least one of: a sweep modeconfigured to provide a spatialized directional representation of theenvironment proximate the user with a progressive sweep over apredetermined span of directional orientations; or a close object modeconfigured to provide a spatialized directional representation ofphysical objects located within a threshold distance from the user asdetected by the return ultrasonic signals.

In certain aspects, the directional indication system includes at leasttwo transducers for providing spatialized audio output and a hapticfeedback device for initiating a spatialized haptic response.

In some implementations, the system further includes at least onemicrophone coupled with the controller and configured to detect ambientacoustic signals, where the controller is configured to initiate thedirectional output as a spatialized haptic response in response to theat least one microphone indicating an ambient sound pressure level (SPL)meets or exceeds a threshold SPL for a spatialized audio output.

In particular cases, the controller includes an orientation program fordetecting an orientation of the system relative to true north.

In certain implementations, the at least two acoustic receivers compriseX receivers separated from a direct neighboring receiver by a distanceof Y, where X is an integer and Y is greater than approximately 1.25centimeters.

In some aspects, the at least one acoustic transmitter and the at leasttwo acoustic receivers are arranged in a linear array.

In particular implementations, the at least one acoustic transmitter andthe at least two acoustic receivers are arranged in a two-dimensionalarray.

In certain cases, the system further includes a power source coupledwith the controller.

In some implementations, the controller is configured to disregardreturn ultrasonic signals that are only detected by a single one of theat least two receivers.

In particular aspects, the controller is configured to triangulate alocation of the physical object based on a known location of the atleast one acoustic transmitter and the at least two acoustic receivers.

In certain cases, the system further includes an interface permittingthe user to adjust: at least one of a frequency, a transmit power or awaveform of the transmitted ultrasonic signals; and a sensitivity of theat least one acoustic receiver to return ultrasonic signals.

In particular aspects, the controller is configured to: automaticallytune the transmitted ultrasonic signals to select a frequency, transmitpower, pulse length, number of pulses, pulse pattern or a waveform thatprovides the highest signal-to-noise ratio (SNR) based on the receivedreturn ultrasonic signals; and automatically adjust the sensitivity ofthe at least one acoustic receiver based on the identified physicalobject within the environment.

In some implementations, the one axis sensor includes two distinctfront-to-back tilt sensors configured to mount proximate to a shoulderregion on the body of the user. In additional aspects, the one axissensor includes at least one side-to-side tilt sensor for determiningorientation of the chest plate.

In certain cases, the mounting plate is shaped to mount on the front ofthe body of the user such that the transmitter is positioned to transmitthe ultrasonic signals in a forward direction relative to the user.

In particular implementations, the mounting plate further includes acover for creating a water resistant seal around the controller, the atleast one acoustic transmitter, the at least two acoustic receivers andthe directional indication system.

In certain cases, the at least two transducers includes two pairs oftransducers, each pair having an upper transducer and a lowertransducer, where the controller is configured to initialize thespatialized audio output at the pairs of transducers to indicate aheight of the identified physical object relative to the user within theenvironment.

In particular implementations, the noise management module is configuredto mix the ambient acoustic signals with the spatialized audio outputfor playback at the transducers.

In some aspects, the sweep mode presents the user with indicators aboutphysical objects in the environment proximate the user at a varyingrate, sound type or frequency based on proximity to the physicalobjects.

In certain implementations, the sensor(s) include one or more of: a) atwo-axis sensor (e.g., including a conductive ball, mercury, or anotherconductive material rolling inside a chamber with multiple electricalcontacts); b) a single-axis sensor (e.g., including a conductive ball,mercury, or another conductive material inside a chamber with a multipleelectrical contacts; c) a gyroscopic sensor; or d) an electrolyticsensor (e.g., including a fluid that conducts electricity, which caninclude multiple electrical probes at distinct heights).

In some cases, the system includes at least one additional sensor fordetecting at least one characteristic of an object, such as: a range ofthe object, a direction of the object relative to the system, a motioncharacteristic of the object (e.g., direction of motion, speed,acceleration), or an identity of the object.

In particular aspects, the at least one additional sensor includes atleast one of: a stereo optical sensor, an infrared sensor, a camerasystem, a LIDAR system, a RADAR system, a global positioning system(GPS), or a set of microphones.

In various implementations, the stereo optical sensor is configured todetect the presence of an object, and may be used to estimate range toan object, or motion of an object. The infrared sensor is configured todetect motion of an object and presence of an object. The camera systemis configured to detect motion of an object, presence of an object,and/or identity of an object. The LIDAR system and the RADAR system areeach configured to detect object range and/or object motion. The GPS isconfigured to detect user location and motion. The set of microphones isconfigured to identify objects by a corresponding acoustic signature.

Two or more features described in this disclosure, including thosedescribed in this summary section, may be combined to formimplementations not specifically described herein.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features, objectsand benefits will be apparent from the description and drawings, andfrom the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic front view of an example personal sonar systemworn by a user according to various implementations.

FIG. 2 depicts one example array of transmitters and receivers in apersonal sonar system according to various implementations.

FIG. 3 depicts an additional example array of transmitters and receiversin a personal sonar system according to various implementations.

FIG. 4 depicts a further example array of transmitters and receivers ina personal sonar system according to various implementations.

FIG. 5 shows a schematic side-cross-sectional view of a set of receiversin a personal sonar system according to various implementations.

FIG. 6 shows a general mathematical model for detecting changes inelevation in the surface depicted in FIG. 5.

FIG. 7 is a schematic side view of a personal sonar system worn by auser according to various implementations.

FIG. 8 is a schematic data flow diagram illustrating control functionsperformed by a personal sonar system according to variousimplementations.

FIG. 9 is an example signal path diagram illustrating processes inmultipath interference detection in an environment according to variousimplementations.

FIG. 10 is an additional example signal path diagram illustratingprocesses in object triangulation in an environment according to variousimplementations.

FIG. 11 is another example signal path diagram illustrating processes inecho signal differentiation in an environment according to variousimplementations.

It is noted that the drawings of the various implementations are notnecessarily to scale. The drawings are intended to depict only typicalaspects of the disclosure, and therefore should not be considered aslimiting the scope of the implementations. In the drawings, likenumbering represents like elements between the drawings.

DETAILED DESCRIPTION

This disclosure is based, at least in part, on the realization that anacoustic-based detection system can be beneficially deployed as an aidfor the visually impaired. For example, a personal sonar system canprovide a user (e.g., a visually impaired user) with a directionalindicator about one or more physical objects in a surroundingenvironment. The systems disclosed according to various implementationsprovide the user with a more complete understanding of the environmentas compared with conventional systems for aiding the visually impaired.

Commonly labeled components in the FIGURES are considered to besubstantially equivalent components for the purposes of illustration,and redundant discussion of those components is omitted for clarity.

FIG. 1 is a schematic illustration of a personal sonar system 100 wornby a (human) user 110 according to various implementations. In somecases, the personal sonar system 100 includes at least one acoustictransmitter 120 for transmitting ultrasonic signals into an environment130 proximate the user 110. In various implementations, the acoustictransmitter 120 can include a speaker system or other acoustictransducer configured (e.g., programmed) to transmit signals in theultrasonic frequency range. In a particular implementation depicted inFIG. 1, the personal sonar system 100 is shown including two acoustictransmitters 120, with an optional second one of the transmitters 120depicted in phantom. It is understood that in various implementations,the personal sonar system 100 can include three, four, five or moreacoustic transmitters 120 mounted in any position within the system 100.In some implementations, the range of the personal sonar system 100 canbe up to approximately 5-10 meters. In various implementations, thefrequency range of the ultrasonic signal is approximately: 35 kilo-Hertz(kHz) to approximately 80 kHz.

The personal sonar system 100 can also include at least two acousticreceivers 140 for receiving return ultrasonic signals from theenvironment 130 proximate the user 110. Each receiver 140 can includeone or more microphones for detecting ultrasonic signals from theenvironment 130, e.g., ultrasonic signals that are returned byinterference with one or more physical objects after being sent by thetransmitter(s) 120. In various implementations, more than two receivers140 are arranged in the system 100, e.g., three, four or more receivers140 can be used to detect the return ultrasonic signals. In particularcases, the receivers 140 are separated from a direct neighboringreceiver 140 by a distance that is greater than approximately 1.25centimeters (approximately 0.5 inches).

In some particular implementations, for example, where the system 100includes multiple transmitters 120, one or more of the receivers 140 ispositioned between adjacent transmitters 120. In the example shown inFIG. 1, the transmitters 120 and receivers 140 are arranged in a lineararray, and the receivers 140 are located between transmitters 120. It isunderstood that the system 100 can function as described herein withonly two receivers 140, as the known position of the two receivers 140can be used to detect directionality of the return ultrasonic signals.In certain implementations, one or more of the transmitter(s) 120 andone or more of the receivers 140 are part of a transceiver unit (i.e.,having a combined transmitter and receiver in a single unit).

FIGS. 2-4 illustrate example variations on transmitter 120 and receiver140 arrangements according to various implementations. FIG. 2illustrates one sensor array 300 including two transmitters 120 arrangedin a linear array with a set of receivers 140, in this case, fourreceivers 140. The linear array 300 is located proximate the chest andshoulder area of the user 110, such that the transmitters 120 andreceivers 140 are positioned to detect physical objects that areapproximately at the height of the user's chest and shoulders. Inadditional implementations, the transmitters 120 and/or receivers 140are aligned at an angle relative to the mounting plate 160, e.g., angledupward or downward relative to the face of the mounting plate 160. Inthese implementations, the transmitters 120 and receivers 140 can beconfigured detect objects above and/or below the height of the user'schest and shoulders. Additionally, the relative angle of thetransmitters 120 and receivers 140 will dictate the height above orbelow which objects can be detected. In various implementations, thedetection height above or below the horizontal plane at which objectscan be detected is defined by: sin(detection angle limit/2)*distance.For example, where the transmitters 120 and receivers 140 have adetection angle limit equal to five (5) degrees, at 10 meters from thetransmitter(s) 120, the receivers 140 can detect objects at a heightabove or below the plane of the transmitters/receivers of approximately0.44 meters.

FIG. 3 depicts an additional sensor array 400 including sub-arrays 410,420, 430. In these cases, sub-array 410 is positioned proximate theuser's chest and shoulder region, sub-array 420 is positioned proximatethe user's waist, and sub-arrays 430 are positioned proximate the user'scalf and ankle region. In some cases, sub-arrays 410 and 420 can besimilar to array 300 in FIG. 2 (e.g., linear array with transmitters 120outside of receivers 140). Sub-arrays 430 can each include a transmitter120 and receiver 140, e.g., where receivers 140 are located proximatethe inner leg of the user 110 and transmitters 120 are located proximatethe front of the user's leg.

FIG. 4 depicts an additional two-dimensional array 500, which caninclude a plurality of sub-arrays 510, 520, 530, 540, each of which canbe similar in configuration to array 300 in FIG. 2. These sub-arrays510-540 can be positioned at different vertical heights along the user'sbody, e.g., from the shoulder-chest region, to the waist region. Eachsub-array 510-540 can be configured to detect physical objects atdistinct heights.

FIG. 5 shows a schematic side-cross-sectional view of a set of receivers140 (or, transceivers) in sub-arrays 550 and 560 aligned vertically,where the receivers 140 in the first sub-array 550 have a face 570 thatis normal to the movement direction of the user (MD), such that the face570 of the receivers 140 in the first sub-array 550 is directedapproximately parallel with the surface 580 (e.g., ground) upon whichthe user is travelling (e.g., walking). The second sub-array 560 ofreceivers 140 each have a face 590 that is at least partially angledrelative to a movement direction (MD) of the user for detecting groundelevation, e.g., changes in the relative elevation of the surface 580upon which the user is travelling. Sub-array 560 can be configured todetect changes in ground elevation, such as steps up or down, and othertopographical changes. FIG. 6 shows a general mathematical model fordetecting changes in elevation in the surface 580, as performed by thecontroller that is described further herein. In this case, heights fromthe surface 580 (e.g., ground or floor) are indicated by: H1, H2, andH3. The range to the surface 580 (e.g., ground or floor) from eachreceiver 140 is indicated by: R1, R2, R3. In this depiction, where thesurface 580 is approximately flat, the following equation holds true:cos(Angle A)=H1/R1=H2/R2  (equation 1)cos(Angle A)!=H3/R3  (equation 2)

Where the entirety of the surface 580 is flat, heights and ranges ofneighboring receivers 140 should be proportional, however, where a stepor other elevation change is introduced as shown in FIGS. 5 and 6, thisproportionality does not hold true because R3 is a greater value thanexpected in a proportional scenario:(H2/H1)=(R2/R1)  (equation 3)(H3/H2)!=(R3/R2)  (equation 4)

Returning to FIG. 1, system 100 can also include a controller 150coupled with the transmitter(s) 120 and receivers 140. The controller150 can include a processor (PU) 800 (FIG. 8) that is configured toperform various functions described herein. In certain cases, thetransmitter(s) 120, receivers 140, and controller 150 can be mounted orotherwise coupled to a mounting plate 160 for mounting on the body ofthe user 110. One embodiment of the mounting plate 160 is alsoillustrated in one example side view of system 100 in FIG. 7. In somecases, the mounting plate 160 is shaped to mount on the front of thebody of the user 110, such that the transmitter 120 is positioned totransmit the ultrasonic signals in a forward direction relative to theuser 110. The mounting plate 160 can be worn over the chest-and-shoulderarea of the user 110 in some cases. However, in other cases, themounting plate 160 is at least partially worn as a belt around thewaist/torso region of the user 110. In certain cases, the mounting plate160 is connected with one or more straps, hooks, fasteners or clips forattaching to the user's clothing or wrapping around one or more bodyparts of the user 110. The mounting plate 160 is rigid in some cases,and is formed of a metal, plastic and/or composite material. In othercases, the mounting plate 160 is flexible, such that it conforms to theshape of the user's body. In particular cases, the mounting plate 160includes a cover 170 (FIG. 7) for creating a water resistant seal aroundtransmitter(s) 120, receivers 140, controller 150 and other systemcomponents connected to the mounting plate 160. In additionalimplementations, as depicted in FIG. 7, the system 100 can includeadditional electronics 180 including but not limited to a power source,processors, memory, communications components such astransmitters/receivers, network connection equipment (including but notlimited to: Wi-Fi, Bluetooth, cellular or near field communications(NFC) equipment) and location-identification components (e.g., GPSsystems). In a particular implementation depicted in FIG. 7, theadditional electronics 180 can be contained or otherwise grouped in aseparate housing (e.g., as in an over-the-shoulder backpack or pouch)from the mounting plate 160 and cover 170. In other cases, theadditional electronics 180 are physically housed with the mounting plate160, e.g., within the cover 170.

Returning to FIG. 1, the controller 150 can be coupled with adirectional indication system 190 that is configured to provide adirectional output to the user 110 based upon a detected direction (andin some cases, location or proximity) of a physical object within theenvironment 130 (e.g., within a proximity such as several meters aroundthe user 110). Additional aspects of the control processes are depictedin the data flow diagram in FIG. 8, which is referred to simultaneouslywith FIG. 1. In various implementations, the controller 150 isconfigured to: a) identify the physical object within the environment130 based upon the return ultrasonic signals detected by the receivers140; and b) initiate a directional output at the directional indicationsystem 190 based upon the identified physical object within theenvironment 130.

As part of process (a) noted above, the controller 150 is configured toidentify a location of the physical object within the environment 130based upon the return ultrasonic signals detected by the receivers 140.In particular, the controller 150 is configured to: (i) triangulate aplurality of locations of the physical object using the returnultrasonic signals originating from the same acoustic transmitter 120and transmitted at the same time; and (ii) identify the physical objectwithin the environment 130 at an intersection of the plurality oflocations. As noted herein, depending upon the number of transmitters120 and receivers 140 used for object detection in the system 100, theselocations can fall along one or more ellipsoids (or other arcs). Forexample, for a known time of travel and a specific receiver 140, thepossible location of an object is somewhere on an ellipsoidal surfacewith the transmitter 120 and receiver 140 as the foci. The controller150 is configured to identify the intersection of the ellipsoidalsurfaces for all receivers 140. In these cases, with two receivers 140,the possible object location is somewhere on the arc defined by theintersection of two ellipsoidal surfaces. With three or more receivers140, the possible location can be even more accurately determinedbecause that location is at the intersection of multiple ellipsoidalsurfaces, e.g., at one or two points in space. The controller 150 isconfigured to calculate a likely location for the object based uponreturn ultrasonic signals detected by two or more receivers 140, e.g.,within a range defined by the measurement error of thetransmitters/receivers.

In certain cases, the controller 150 is configured to disregard returnultrasonic signals that are only detected by a single one of the atleast two receivers 140. That is, the controller 150 does not use returnultrasonic signals that are detected by only one of the receivers 140 indetecting the presence of an object in the environment 130. Theseultrasonic signals may not provide sufficiently reliable informationabout the location of the physical object, and as such, can bedisregarded. In various implementations, where the return ultrasonicsignals are detected at two or more receivers 140, the controller 150 isconfigured to triangulate a location of the physical object based upon aknown location of the transmitter(s) 120 and the (two or more) receivers140.

In particular cases, the controller 150 is configured to adjust adifference between the ultrasonic signals based on known spacing(s)between the receivers 140, as well as spacing(s) between the receivers140 and the transmitter(s) 120. That is, the reflected ultrasonicsignals will necessarily have different travel times to the differentlocations in the system 100, and the controller 150 adjusts for thosedistinct locations to determine whether a physical object is present inthe detection range. For a given receiver 140, the possible locations ofan object fall anywhere along an ellipsoid. With two or more receivers140, the controller 150 in system 100 triangulates an object's locationusing total signal travel time and the known position of the receivers140. In certain cases, using only two receivers 140 enables thecontroller 150 to calculate the distance to an object based upon thereturn ultrasonic signals, but may not enable calculation of theobject's height (e.g., relative to the ground and/or to the user 110).Where the system includes a third receiver 140, the controller 150 candetermine height, distance and direction of the object relative to theuser based upon the return ultrasonic signals (e.g., providing athree-dimensional reference point for the object). In particular cases,the system 100 includes three or more receivers 140 to enable accuratedetection of objects as well as differentiation of signals (e.g., wheresignificant echoes are present).

In some cases, the controller 150 instructs the transmitter(s) 120 totransmit ultrasonic signals into the environment 130 in a searchpattern, e.g., in a sweeping pattern from left-to-right, right-to-left,center-outward, up/down, down/up, near-to-far, far-to-near and/or anyother directional and/or depth-related pattern. In particular cases, thesearch pattern sweeps directionally (e.g., left-to-right, center-out)and at progressively greater range (e.g., distance X, followed bydistance 2X, followed by distance 3X) in order to provide informationabout physical objects that the user 110 is approaching, or objects thatare approaching the user 110. In certain implementations, the controller150 adjusts the frequency and/or range (e.g., sweep angles and/or depth)of the sweep, or in some cases, other audio characteristics of the sweep(e.g., transmitted power, pulse length, number of pulses, or waveform)based upon detected movement of the user 110 (e.g., as detected by aposition sensor, and/or a motion sensor). In these cases, the controller150 is configured to increase the frequency of the sweep in response todetecting an increase in the user's pace (e.g., movement forward), anddecrease the frequency of the sweep in response to detecting a decreasein the user's pace. In implementations where system 100 has a pluralityof transmitters 120 and receivers 140, the controller 150 can selectdistinct subsets of transmitters 120 and receivers 140 for objectdetection based upon the current speed and movement direction of theuser 110. For example, the controller 150 can increase the detectionrange of the transmitters 120 and receivers 140 in response to detectingan increase in the speed of the user 110, and decrease the correspondingdetection range in response to detecting a decrease in the speed of theuser 110. Additionally, the controller 150 can adjust object detectionpatterns based upon the speed and direction in which the user 110 ismoving. In certain implementations, the controller 150 includes anorientation program for detecting an orientation of the system 100relative to true north, e.g., to provide a reference point for eachsweep.

As described further herein, while in sweep mode, the controller 150 isconfigured to present the user 110 with indicators about physicalobjects in the environment proximate the user 110 across the sweeprange. In some cases, these indicators are presented at a varying rate,sound type (e.g., beep, buzz, bell, etc.) or frequency based upon theproximity of the physical objects. For example, the controller 150 caninitiate a higher frequency pulse (e.g., vibration) and/or a pulse withlonger displacement at a haptic-based directional indication system or ahigher frequency sound (and/or higher volume sound) at an audio-baseddirectional indication system when an object is detected as being closerto the user 110, as compared with a lower frequency pulse (vibration)and/or shorter displacement pulse or lower frequency sound (and/or lowervolume sound) for an object that is detected as being farther from theuser 110.

In additional implementations, the controller 150 is configured toinitiate transmission of the ultrasonic signals into the environment 130at unique acoustic signatures. That is, the controller 150 instructs thetransmitter(s) 120 to transmit ultrasonic signals into the environment130 with a combination of audio characteristics that together create aunique acoustic signature, which can aid in detecting one or morephysical objects (and help improve signal-to-noise ratio, or SNR) basedon the unique characteristics of the return signal(s). In these cases,the unique acoustic signatures can differ from one another, e.g., inpulse duration, pulse repetition, pulse pattern and/or wave shape). Thereceivers 140 are configured to convey not only that a return ultrasonicsignal is received, but also a characteristic of the signature received,such that the controller 150 can determine which signature(s) arereceived at the receivers 140 at different times, e.g., where waveformof type A is transmitted at time t=0 and detected at time t=X andwaveform of type B is transmitted at time t=1 and detected at timet=1+2X. In these cases, the controller 150 is configured todifferentiate signals detected at a first receiver 140 (and transmittedfrom a corresponding transmitter 120) from those signals detected atanother receiver 140 (and transmitted from a corresponding distincttransmitter 120) using the acoustic signature(s) of the detectedsignal(s).

In a particular example, the controller 150 is configured to receive aplurality of return ultrasonic signals at the receivers 140, anddetermine the following: (i) which transmitter 120 sent the receivedsignal; (ii) the time that the transmitter 120 sent the received signal;and (iii) which receiver(s) 140 detected the signal. The controller 150is further configured to: (iv) compute the total travel time of thesignal to each receiver 140; (v) compute the distance the signaltraveled to and from the object back to the receiver 140; and (vi)compare the computed distances for each of a plurality of returnultrasonic signals to locate the object. The controller 150 isconfigured to coordinate transmitting a unique combination of ultrasonicsignatures in the transmitted signals, e.g., by varying frequency,number of pulses and/or waveform for each transmitter 120 (e.g., and foreach broadcast). These unique combinations are stored at the controller150 for comparison with the return ultrasonic signals, such that thecontroller 150 is configured to match the received ultrasonic signalswith the corresponding transmitter 120 and time of transmission.

In certain implementations, the system 100 further includes at least oneposition sensor 200 for detecting changes in position of the body of theuser 110. In particular cases, the position sensor 200 can include oneor more of: a one-axis sensor, a two-axis sensor, a gyroscopic sensor oran electrolytic sensor. In certain aspects, the controller 150 isadditionally coupled with a motion sensor such as an inertialmeasurement unit (IMU), accelerometer/gyroscope/magnetometer, opticaltracking system, geolocation system, etc. located on another user-worndevice such as a wearable smart device or a smart device carried by theuser 110 (e.g., smart phone or audio gateway). In some cases, thecontroller 150 is configured to measure the user's acceleration anddirection with data from the position sensor(s) 200 and motionsensor(s), and compute the user's current acceleration, speed, position,and direction of motion. In some cases, the motion sensor(s) (e.g.,accelerometer(s)) periodically compute the current speed and directionof the system 100 and send this motion data to the controller 150. Incertain implementations, the motion sensor periodically computes thecurrent speed and movement direction of the system using multipleacceleration measurements.

In some cases, the system 100 includes a plurality of position sensors200 for detecting the relative position of portions of the user's body.In one particular example illustrated in FIG. 1, the position sensors200 include two types of position sensor 200A, 200B. Position sensors200A can include front-to-back tilt sensors that are configured todetect forward/backward angle of the user's torso (e.g., at the shoulderregion). In one particular implementation, the system 100 includes twodistinct front-to-back tilt sensors configured to mount proximate theshoulder region of the user's body. In implementations that includeadditional position sensors 200, position sensors 200B can includehorizontal tilt sensors that are configured to detect relative angle ofthe user's upper torso and lower torso. In particular cases, thecontroller 150 receives this position data (e.g., about tilt) from theposition sensors 200 and adjusts the detected difference in ultrasonicsignals based upon the relative position of the transmitter(s) 120 andreceivers 140, for example, where the user 110 is turned left or right,or leaning forward or backward.

In one particular case, the directional indication system 190 includesan audio device 190A with at least two transducers 210 a, 210 b,illustrated as a personal audio device in FIG. 1. It is understood thatwhen implemented as an audio device, the directional indication system190 can include any personal audio device with two or more transducers210 that are controllable to provide a spatialized audio output, such asa portable speaker, headphones, and wearable audio devices in variousform factors, such as watches, glasses, neck-worn speakers, helmets withintegrated speakers, shoulder-worn speakers, body-worn speakers, etc.

In particular implementations, the controller 150 is configured toinitiate a spatialized audio output at the transducers 210 a, 210 bbased upon the identified physical object, e.g., such that the source ofaudio output at the transducers 210 a, 210 b appears to originate fromthe direction in which the physical object is identified (relative tothe body of the user 110). In certain implementations where thedirectional indication system 190 includes the audio device 190A, thespatialized audio output indicates the direction of the physical objectwith a variation in one or more of: a volume of the audio output, afrequency of the audio output, a repeat rate of a sound in the audiooutput (e.g., beep, bell, buzz, etc.).

In some cases, the controller 150 includes a noise management module(NMM 810, FIG. 8) that is configured to filter ambient acoustic signalswhile providing the spatialized audio output (at audio device 190A). Inthese implementations, the controller 150 including the noise managementmodule 810 can include an active noise reduction (ANR) and/orcontrollable noise cancelling (CNC) module for filtering ambientacoustic signals while playing back the spatialized audio output. Inparticular cases, the noise management module 810 is configured todetect ambient acoustic signals proximate to the user 110, and basedupon a frequency and/or SPL of those signals, adjust a noise cancellingfunction at the audio device 190A to either increase the SPL of theambient acoustic signals to the user 110 (e.g., where the frequency isdetected as matching an alarm or other high-importance alert), ordecrease the SPL of the ambient acoustic signals to the user 110 (e.g.,where the frequency is detected as matching background noise). Inadditional implementations, the noise management module 810 isconfigured to mix the ambient acoustic signals with the spatializedaudio output for playback at the audio device 190A.

While the audio device 190A illustrated in FIG. 1 is shown as a personalaudio device, it is understood that in various additionalimplementations, the audio device 190A includes a speaker system, wheretransducers 210A, 210B are part of an array of speakers for providingthe spatialized audio output to the user 110 based on the identifiedphysical object within the environment. In these cases, the array ofspeakers can be located on the mounting plate 160, e.g., across theuser's chest area.

In some particular implementations, each of the transducers 210A, 210Bincludes a pair of transducers (four total), such that each pair oftransducers has an upper transducer and a lower transducer. In thesecases, the controller 150 is configured to initialize the spatializedaudio output at the pairs of transducers to indicate a height of theidentified physical object relative to the user 110 in the environment.In these cases, the controller 150 can indicate both direction andheight of the identified physical object to the user 110 with aspatialized audio output.

In still further implementations, as illustrated in the example in FIG.1, the controller 150 is connected with an audio gateway 220 and isconfigured to mix audio from the audio gateway 220 with the spatializedaudio for output at the at least two transducers 210A, 210B. Inparticular implementations, the audio gateway 220 is a smart device suchas a smart phone, smart watch, or wearable smart device (e.g., havingcommunications and processing capabilities commonly found in smartphones). In some cases, the audio gateway 220 allows for playback ofaudio such as music, podcasts, navigation instructions, video audio, andphone call audio. In various implementations, the controller 150 isconfigured to mix audio from the audio gateway 220 (e.g., phone callaudio, or music playback) with the spatialized audio for playback at thetransducers 210A, 210B. In these cases, the user 110 can receivespatialized audio indicators about nearby physical objects whileconducting a phone call, listening to music or navigating an unfamiliararea.

In particular cases, the audio gateway audio includes navigationinstructions from a navigation application. In these cases, thecontroller 150 is configured to output the spatialized audio (attransducers 210A, 210 b) as speech indicating the physical object withinthe environment, e.g., mixing the spatialized audio speech with thenavigation instructions. For example, the controller 150 can interruptthe navigation instructions, pause navigation instructions or adjust(e.g., lower) the volume of the playback of navigation instructions atthe transducers 210A, 210B and interject spatialized speech indicatingthe physical object within the environment (e.g., after pausingnavigation instructions, or mixing with navigation instructions,outputting the following from a direction at the user's front-left side:“watch for obstruction ahead on your left”).

In some additional cases, the directional indication system 190 includesa haptic feedback device 190B (illustrated in phantom) that isconfigured to initiate a haptic response based upon the identifiedphysical object within the environment 130. In certain cases, the hapticfeedback device 190B includes a vibro-tactile device, and the hapticresponse indicates a direction of the physical object relative to thebody of the user 110. In certain cases, the vibro-tactile deviceincludes a set of speakers or transducers for creating a vibrationacross one or more portions of the user's body. In variousimplementations, the controller 150 is configured to vary the intensity(i.e., volume) of the vibration for each vibro-tactile device, e.g.,individually or in sets such as pairs. In these cases, initiating thedirectional output includes initiating a haptic response at the hapticfeedback device 190B based on the identified physical object within theenvironment 130. For example, the haptic feedback device 190B can beintegrated in the mounting plate 160. In these cases, the hapticfeedback device 190B can include one or more vibro-tactile devicesconfigured to initiate vibration at distinct locations on the mountingplate 160 (or on a separate mounting belt or other mount), e.g., withvibro-tactile devices proximate each corner of the mounting plate 160,along the sides of the mounting plate 160 and/or proximate a centralarea of the mounting plate 160. In these cases, the vibro-tactiledevices can be actuated to indicate the presence of a physical object inboth horizontal and vertical directions. In particular, the controller150 is configured to send a signal to one or more of the vibro-tactiledevices based upon the detected location of the physical object, e.g.,to actuate a subset of the vibro-tactile devices to indicate thedirection of that physical object relative to the user 110.

In additional cases, the haptic feedback device 190B is integrated in awearable device e.g., a smart device such as a smart watch, smart belt,head, shoulder or other body-worn smart device, or a personal audiodevice. In particular cases, the haptic feedback device 190B isintegrated into the audio device 190A, such that the audio device 190Aincludes one or more vibro-tactile devices configured to be actuated bythe controller 150. In these cases, the directional indication system190 can include one or both of the audio device 190A and the hapticfeedback device 190B. According to some implementations, the controller150 is configured to initiate directional indicators at both the audiodevice 190A and the haptic feedback device 190B based upon user-definedsettings and/or detected ambient acoustic signals (e.g., via amicrophone(s) at the audio device 190A or another connected smartdevice). For example, the controller 150 can be configured to providehaptic feedback about the location of a detected object in response todetecting ambient acoustic signals that have an SPL that meets orexceeds a threshold. The high SPL of the acoustic signals can indicatethat the user 110 is in a noisy environment, and may benefit more from avibro-tactile cue. In still other cases, the controller 150 can beconfigured to provide haptic feedback about the location of a detectedobject in response to detecting that the user's paired audio gateway 220is engaged in a phone call (e.g., call audio is being sent/received bythe audio device 190A), or that another software application engagingaudio is active (e.g., navigation application with audio instructions).In these cases, the controller 150 is configured to detect applicationactivity at one or more devices (e.g., audio gateway 220), and inresponse to detecting application activity that engages audio, initiatehaptic feedback about the location of a detected object.

Returning to FIG. 1, in various implementations, the system 100 canfurther include an interface 230 for receiving user commands. In somecases, the interface 230 includes a plurality of user-selectableoperating modes, which can include at least one of a sweep mode or aclose object mode. In sweep mode, as described herein, the controller150 is configured to provide a spatialized directional representation ofthe environment 130 proximate the user 110 with a progressive sweep overa predetermined span of directional orientation. In this mode, thecontroller 150 instructs the transmitter(s) 120 to send ultrasonicsignals in a progressive manner across a span of directionalorientations (e.g., −30 degrees to +30 degrees from straight ahead). Inclose object mode, the controller 150 is configured to provide aspatialized directional representation of physical objects locatedwithin a threshold distance from the user 110 as detected by the returnultrasonic signals (detected at receivers 140). In this mode, thecontroller 150 listens for a shorter period for return ultrasonicsignals (echoes) than in sweep mode, and is configured to provide thedirectional output in response to detecting return ultrasonic signals(via receivers 140) indicating that a physical object is within a “closerange” distance, e.g., two, three or four meters away.

In various implementations, the interface 230 allows the user 110 toadjust: a frequency, transmit power or a waveform of the transmittedultrasonic signals, as well as a sensitivity of the acoustic receiver toreturn ultrasonic signals. The interface 230 can include one or moreconventional inputs, such as haptic inputs including a dial, button,touch screen, etc. The interface 230 can also include a voice commandinterface, such that the user 110 can make adjustments using voicecommands. The interface 230 can also include a gesture-based interface,such that the user 110 can make adjustments with gestures (e.g., handwave, nodding, etc.).

The controller 150 can be configured to perform additional processes inidentifying physical objects within the environment 130 proximate to theuser 110. For example, in particular implementations, the controller 150is configured to perform an auto-tune process in order to enhancedetection of physical objects in the environment 130. In some cases, thecontroller 150 is configured to automatically tune the transmittedultrasonic signals to select an acoustic signal characteristic (e.g.,frequency, transmit power, pulse length, number of pulses, pulse patternor a waveform) that provides the highest signal-to-noise ratio (SNR)based on the received return ultrasonic signals. That is, the controllercan be configured to receive a set of return ultrasonic signals (viareceiver 140), and based upon the SNR of those received ultrasonicsignals, select the acoustic signal characteristic(s) (e.g.,frequency/frequencies, power, pulse length, pulse number, pulse patternor waveform(s)) corresponding with the highest SNR (e.g., a top 10percent of SNR, or an SNR that is above a threshold). In variousimplementations, the controller can select a new acoustic signalcharacteristic (e.g., number of pulses, pulse pattern, waveform, etc.)based on one or more of: a) measured acoustic characteristics such asSNR, b) detection of one or more other devices operating at the samefrequency but with a different additional signal characteristic (e.g.,pulse rate or waveform), or c) another detection error indicating adeviation from an expected signal response.

Additionally, the controller 150 is configured to automatically adjustthe sensitivity of the receivers 140 based on the identified physicalobject within the environment 130. In these cases, the controller 150adjusts the sensitivity of the receivers 140 in response to detecting anexcessively powerful received ultrasonic signal (e.g., indicating thatthe user 110 is close to a large object such as a wall), or in responseto detecting little or no return ultrasonic signal activity (e.g., wherethe transmitted ultrasonic signals are not returned to the receivers 140such as when the user 110 is in an open, unobstructed space). Inparticular implementations, the controller 150 reduces the sensitivityof the receivers 140 in response to detecting greater than a thresholdrange of return ultrasonic signal activity, and in response to detectingless than the threshold range of return ultrasonic signal activity,increases the sensitivity of the receivers 140.

FIG. 9 is an example signal path diagram illustrating additional aspectsof the controller 150 in accounting for multipath interference. In somecases, the controller 150 is configured to adjust for multipathinterference rejection using modes such as receiver selection and/orresponse selection. In some cases, the controller 150 is configured toselect ultrasonic signals received at one or more particular receiver(s)140 that have a narrow field of view relative to the transmitter(s) 120.In these cases, the controller 150 will reject ultrasonic signalsreceived at a receiver 140 that is separated from the correspondingtransmitter 120 by a distance equal to or greater than a thresholdvalue. As such, the controller 150 only uses ultrasonic signal data fromtransmitter(s) 120 that are within a defined spacing from the receiver140, and thus have less opportunity to cause signal interference. Inadditional implementations, the controller 150 is configured to acceptonly the first response from a transmitter 120, where multipleultrasonic signals are received from that transmitter 120 within aperiod (e.g., within a matter of seconds). These processes can reducemultipath signal interference. In example cases, the controller 150 isconfigured to ignore or otherwise discount echoes by: (i) for eachreceiver 140, only storing the first detection (e.g., detection time) ofa unique acoustic signature, such as a unique combination of frequency,number of pulses and/or waveforms; and (ii) only recording thedetections (e.g., detection times) for signals above a volume threshold.This approach can help reduce the impact of secondary echoes in objectdetection, for example, because these secondary echoes are likely to bedelayed relative to primary object detection signals and are likely tobe weaker than such signals.

FIG. 10 is an example signal path diagram illustrating additionalaspects of the controller 150 in calculating object location usingtwo-dimensional (2D) triangulation. As illustrated in FIG. 10,dimensions D1 and D2 between neighboring transmitters (TX) and receivers(RCV) are known. Quantities R1+R2 and R3+R4 are measured in detectingthe Object, where R3 is part of the path from TX1 to RCV2. The anglesbetween paths R1, R2 and R4 are not known with sufficient precision touse a law of sines or cosines approach. In these cases, the controller150 calculates the location of the Object using elliptical arcs 1010,1020 with a fixed distance (R1+R2, and R3+R4). Where TX1 and RCV1 arethe foci of ellipse 1010, and TX1 and RCV2 are the foci of ellipse 1020,the controller detects the Object as located at the intersection ofthese two ellipses 1010, 1020. In additional implementations, which cansupplement the ellipse-based calculation noted above, the controller 150is also configured to determine a general location for the Object usingthe known field of view of the receivers RCV1, RCV2. In these examples,for each measurement, the controller 150 determines the total traveltime for the sound. As noted herein, if only locating an object in twodimensions, the location of the Object that causes an echo can beanywhere along an elliptical arc with the foci as the transmitter andreceiver. In embodiments with two different receivers that receive echosignals from the same transmitted signal, the controller 150 isconfigured to calculate where the two elliptical arcs intersect. Inthese cases, the controller 150 is configured to determine the locationof the object in two dimensions. Additionally, the controller 150 canincrease the confidence value in its object detection using a knownangle of the beam from the transmitter and the detected reception angleat the receiver. Based upon this angle data, the controller 150 canlocate the object along a narrower range of locations on the ellipticalarc.

FIG. 11 is an example signal path diagram illustrating additionalaspects of the controller 150 in calculating object location withmultiple transmitters (TX) and multiple receivers (RCV). In these cases,and as described further herein, the controller 150 instructs thetransmitters (TX) to send signals with distinct signatures, for example,distinct waveforms (e.g., sine, sawtooth, etc.), distinct pulsecharacteristics (e.g., number of pulses, pulse duration, pulse pattern)or distinct frequencies to transmit ultrasonic signals at differenttimes. This approach allows the receivers (RCV) to identify whichtransmitter (TX) sent each signal, and at which time. In other cases,the controller 150 instructs the transmitters (TX) to send signals withthe same signature, but institutes a delay between each successivesignal until echoes from the previous signal set dissipate. In variousimplementations, the transmitters (TX) are directional transmitters witha limited field of view, which can aid the controller 150 in determiningthe direction from which return ultrasonic signals are received at thereceivers (RCV). In additional implementations, receivers (RCV) arechosen that have a relatively small receiving aperture for improvingdirectional determination. Additionally, the controller 150 isconfigured to match results of detected signals at multiple receivers(RCV) in order to improve accuracy. In some cases, as noted herein, thesystem 100 can include two or more receivers (RCV) for detecting thepresence of objects. However, in various additional implementations, thesystem 100 includes three or more receivers that are configured totriangulate the location of objects in three dimensions. In particularcases, the system 100 includes three or more receivers for triangulatingthe location of an object within a volume, where the minimum size of thevolume is defined as being greater than the three-dimensionalmeasurement error of the transmitter/receivers. The shape of the volumecan include any of a sphere, a square box, a rectangular box, a cone,etc. In these cases, the controller 150 is configured to define thevolume as a boundary containing the most triangulated locationestimates, which is the most likely location of the object.

In particular implementations, the system 100 (including controller 150)is configured to detect moving objects (e.g., cars, people, animals,etc.) in addition to stationary objects (e.g., walls, poles, buildings,curbs, etc.). In these cases, the system 100 is configured to providecollision warnings and other information to the user 110 about relativemovement of nearby objects. In these cases, the controller 100 isconfigured to: (1) maintain a history of the user's speed, acceleration,direction and current location; (2) maintain a history of detectedobject locations; (3) match (i.e., identify) detected objects with theirpast location; (4) determine the direction, speed, and acceleration ofmoving objects; (5) extrapolate (e.g., estimate) a future position ofthe moving objects; (6) extrapolate (e.g., estimate) a future positionof the user; and (7) provide a spatialized indication about the objectlocation to the user where the future positions in processes (5) and (6)are within a threshold distance of one another. In variousimplementations, the threshold distance is a fixed distance (e.g., twometers+/−a measurement error). In other implementations, the controller150 dynamically calculates the threshold distance based upon thedetected speed of the user and the object, as well as the extrapolatedposition of the user and the object.

In some additional implementations, the system 100 includes at least oneadditional sensor for detecting at least one characteristic of anobject, such as: a range of the object relative to the system 100, adirection of the object relative to the system 100, a motioncharacteristic of the object 100 (e.g., direction of motion, speed,acceleration), or an identity of the object 100. In particular aspects,the additional sensor is an object detection sensor including at leastone of: a stereo optical sensor, an infrared sensor, a camera system, alight detection and ranging (LIDAR) system, a radio detection andranging (RADAR) system, a global positioning system (GPS), or a set ofmicrophones. In particular implementations, the stereo optical sensor isconfigured to detect the presence of an object, and can estimate objectrange and direction. In certain cases, the infrared sensor is configuredto detect motion of an object and presence of an object. In someaspects, the camera system is configured to detect motion of an object,presence of an object, and/or identity of an object. In particularimplementations, the LIDAR system and the RADAR system are eachconfigured to detect object range and/or object motion. In certaincases, the GPS is configured to detect user location and motion. In someaspects, the set of microphones is configured to identify objects by acorresponding acoustic signature.

In certain additional implementations, the object detection sensorsupplements the acoustic transmitter(s) 120 and receivers 140 in system100, for example, to verify characteristics of an object detected usingultrasonic approaches. In these cases, the controller 150 is configuredto select the object detection sensor to confirm object characteristicssuch as location, motion or identity based upon environmentalconditions, or to resolve measurement inaccuracies and/or ambiguitiesdetected by the acoustic transmitter(s) 120 and receivers 140. In otheradditional implementations, the object detection sensor can replace theultrasonic object detection system in system 100. In theseimplementations, the controller 150 works in concert with the objectdetection sensor to detect the presence of an object in the environment130. The controller 150 then sends a directional indicator (viadirectional indication system 190) to the user 110 about the location ofthe detected object, as described herein. In these cases, the objectdetection sensor can be mounted similarly as the acoustic transmitter(s)120 and receivers 140 in system 100, e.g., on the mounting plate 160. Inother cases, the object detection sensor can be mounted on anotherbody-worn system on the user 110.

In contrast to conventional systems for assisting the visually impaired,the systems described according to various implementations areconfigured to provide the user with spatialized feedback about thesurrounding environment. This depth of information allows the visuallyimpaired user to more easily navigate unfamiliar and/or dynamicenvironments when compared with the basic feedback provided byconventional systems.

The functionality described herein, or portions thereof, and its variousmodifications (hereinafter “the functions”) can be implemented, at leastin part, via a computer program product, e.g., a computer programtangibly embodied in an information carrier, such as one or morenon-transitory machine-readable media, for execution by, or to controlthe operation of, one or more data processing apparatus, e.g., aprogrammable processor, a computer, multiple computers, and/orprogrammable logic components.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a stand-alone program or as a module, component,subroutine, or other unit suitable for use in a computing environment. Acomputer program can be deployed to be executed on one computer or onmultiple computers at one site or distributed across multiple sites andinterconnected by a network.

Actions associated with implementing all or part of the functions can beperformed by one or more programmable processors executing one or morecomputer programs to perform the functions of the calibration process.All or part of the functions can be implemented as, special purposelogic circuitry, e.g., an FPGA and/or an ASIC (application-specificintegrated circuit). Processors suitable for the execution of a computerprogram include, by way of example, both general and special purposemicroprocessors, and any one or more processors of any kind of digitalcomputer. Generally, a processor will receive instructions and data froma read-only memory or a random access memory or both. Components of acomputer include a processor for executing instructions and one or morememory devices for storing instructions and data.

Additionally, actions associated with implementing all or part of thefunctions described herein can be performed by one or more networkedcomputing devices. Networked computing devices can be connected over anetwork, e.g., one or more wired and/or wireless networks such as alocal area network (LAN), wide area network (WAN), personal area network(PAN), Internet-connected devices and/or networks and/or a cloud-basedcomputing (e.g., cloud-based servers).

In various implementations, components described as being “coupled” toone another can be joined along one or more interfaces. In someimplementations, these interfaces can include junctions between distinctcomponents, and in other cases, these interfaces can include a solidlyand/or integrally formed interconnection. That is, in some cases,components that are “coupled” to one another can be simultaneouslyformed to define a single continuous member. However, in otherimplementations, these coupled components can be formed as separatemembers and be subsequently joined through known processes (e.g.,soldering, fastening, ultrasonic welding, bonding). In variousimplementations, electronic components described as being “coupled” canbe linked via conventional hard-wired and/or wireless means such thatthese electronic components can communicate data with one another.Additionally, sub-components within a given component can be consideredto be linked via conventional pathways, which may not necessarily beillustrated.

A number of implementations have been described. Nevertheless, it willbe understood that additional modifications may be made withoutdeparting from the scope of the inventive concepts described herein,and, accordingly, other implementations are within the scope of thefollowing claims.

We claim:
 1. A personal sonar system sized to be worn on a body of auser, the system comprising: at least one acoustic transmitter fortransmitting ultrasonic signals into an environment proximate the user;at least two acoustic receivers for receiving return ultrasonic signalsfrom the environment proximate the user; a directional indication systemfor providing a directional output to the user, wherein the directionalindication system comprises at least two transducers; and a controllercoupled with the at least one transmitter, the at least two acousticreceivers, and the directional indication system, the controllerconfigured to: identify a physical object within the environmentproximate the user based on the return ultrasonic signals, whereincontroller identifies the physical object within the environment by:triangulating a plurality of locations of the physical object using thereturn ultrasonic signals originating from the same acoustic transmitterand transmitted at the same time; and identifying the physical objectwithin the environment at an intersection of the plurality of locations,wherein the controller is configured to adjust for a difference betweenthe ultrasonic signals transmitted by the at least one acoustictransmitter and the return ultrasonic signals based on known spacingsbetween the at least two receivers and each of the at least tworeceivers and the transmitter; and initiate the directional output atthe directional indication system based on the identified physicalobject within the environment, wherein initiating the directional outputcomprises initiating spatialized audio output at the least twotransducers based on the identified physical object within theenvironment, wherein the controller comprises a noise management modulefor filtering ambient acoustic signals while providing the spatializedaudio output, wherein the noise management module is configured to:increase a sound pressure level (SPL) of the ambient acoustic signals inresponse to a detected frequency of the ambient acoustic signalscorresponding with an alarm or other high-importance alert; and decreasethe SPL of the ambient acoustic signals in response to the detectedfrequency of the ambient acoustic signals corresponding with backgroundnoise.
 2. The system of claim 1, wherein the controller is configured toinstruct the acoustic transmitter to transmit the ultrasonic signalsinto the environment in a search pattern, and wherein the controller isfurther configured to: for each of the receivers, store only a firstdetection of a unique acoustic signature in the return ultrasonicsignals; and record only detections of return ultrasonic signals thatsatisfy a volume threshold.
 3. The system of claim 1, furthercomprising: at least one position sensor for detecting a position changeof the body of the user, wherein the at least one position sensorcomprises at least one of: a one-axis sensor, a two-axis sensor, agyroscopic sensor, or an electrolytic sensor; and a motion sensor fordetecting movement of the user.
 4. The system of claim 1, furthercomprising a mounting plate for mounting on the body of the user, themounting plate coupled with the controller, the directional indicationsystem, and the at least two acoustic receivers.
 5. The system of claim1, wherein the at least one acoustic transmitter comprises two acoustictransmitters, and wherein the at least two acoustic receivers arelocated between the two acoustic transmitters.
 6. The system of claim 1,wherein the at least two transducers comprise an array of speakers forproviding the spatialized audio output based on the identified physicalobject within the environment, wherein the array of speakers is locatedon a mounting plate.
 7. The system of claim 6, wherein the controller isconnected with an audio gateway and is configured to mix audio from theaudio gateway with the spatialized audio for output at the at least twotransducers.
 8. The system of claim 7, wherein the audio from the audiogateway comprises navigation instructions from a navigation application,wherein the spatialized audio comprises speech indicating the physicalobject within the environment, and wherein the controller is configuredto interrupt the navigation instructions, pause the navigationinstructions, or adjust volume of playback of the navigationinstructions to provide the spatialized audio in response to detectingthe physical object within the environment.
 9. The system of claim 1,wherein the controller further identifies a location of the physicalobject within the environment, and wherein the spatialized audio outputindicates a direction of the physical object relative to the body of theuser, wherein the spatialized audio output indicates the direction ofthe physical object with a variation in at least one of a volume ofaudio output, a frequency of audio output, or a repeat rate of a soundin the audio output.
 10. The system of claim 1, further comprising anadditional object detection sensor coupled with the controller fordetecting the physical object in the environment, wherein the additionalobject detection sensor comprises at least one of: a stereo opticalsensor, an infrared sensor, a camera system, a light detection andranging (LIDAR) system, a radio detection and ranging (RADAR) system, aglobal positioning system (GPS), or a set of microphones.
 11. The systemof claim 1, wherein the directional indication system comprises a hapticfeedback device, and wherein initiating the directional output comprisesinitiating a haptic response at the haptic feedback device based on theidentified physical object within the environment, wherein the hapticfeedback device comprises a vibro-tactile device, and wherein the hapticresponse indicates a direction of the physical object relative to thebody of the user.
 12. The system of claim 1, wherein at least one of theat least two receivers has a face that is at least partially angledrelative to a movement direction of the user for detecting groundelevation.
 13. The system of claim 1, wherein the controller isconfigured to initiate transmitting the ultrasonic signals into theenvironment with unique acoustic signatures.
 14. The system of claim 1,further comprising an interface for receiving user commands, wherein theinterface provides a plurality of user-selectable operating modescomprising at least one of: a sweep mode configured to provide aspatialized directional representation of the environment proximate theuser with a progressive sweep over a predetermined span of directionalorientations; or a close object mode configured to provide a spatializeddirectional representation of physical objects located within athreshold distance from the user as detected by the return ultrasonicsignals.
 15. The system of claim 1, wherein the controller is configuredto: for each of the receivers, store only a first detection of a uniqueacoustic signature in the return ultrasonic signals; and record onlydetections of return ultrasonic signals that satisfy a volume threshold.